草庐IT

javascript - 没有 CoffeeScript 的 CoffeeScript 问号语法

全部标签

ruby - 在 Ruby 中,有没有办法使用类似 hash.each_with_index do |[k,v], i| 的方法?

否则就需要h={:a=>1,:b=>2.2}h.each_with_indexdo|pair,i|k=pair[0];v=pair[1]pk,v,iend并以这种方式设置k和v似乎有点笨拙。它可以更简单还是类似h.each_with_indexdo|[k,v],i|? 最佳答案 事实上,是的!使用括号:h={:a=>1,:b=>2.2}h.each_with_indexdo|(k,v),i|pk,v,iend 关于ruby-在Ruby中,有没有办法使用类似hash.each_with_i

ruby - 如何在没有 Rails 的情况下使用 RSpec?

在没有Rails的情况下使用RSpec在Ruby中执行TDD的过程是什么?我需要Gemfile吗?它只需要rspec吗?ruby1.9.3 最佳答案 过程如下:从控制台安装rspecgem:geminstallrspec然后创建一个包含以下内容的文件夹(我们将其命名为root):根目录/my_model.rbroot/spec/my_model_spec.rb#my_model.rbclassMyModeldefthe_truthtrueendend#spec/my_model_spec.rbrequire_relative'../

ruby-on-rails - Ruby/Rails 有没有办法执行字符串中的代码?

所以我有一个包含不同代码示例(阅读片段)的数据库。代码示例由用户创建。在Rails中有没有办法执行它?例如,我的数据库中有以下代码(id=123):return@var.reverse有没有办法让我执行它?像这样的东西:@var='Hello'@result=exec(CodeSample.find(123))所以结果会是'olleH' 最佳答案 您可以使用eval:code='@var.reverse'@var='Hello'@result=eval(code)#=>"olleH"但是这样做要非常小心;您授予该代码对您系统的完全访

ruby - 使用 `?`(问号)在 Ruby 中获取 ASCII 字符代码失败

我现在需要一个字符的ASCII值(对于ProjectEulerquestion#22,如果你想得到具体的),我遇到了一个问题。作为ruby​​的新手,我用谷歌搜索了一下,发现?是要走的路:?A或其他。但是当我将它合并到我的代码中时,该语句的结果是字符串"A"——没有字符代码。[0]和slice(0)存在同样的问题,理论上它们都应该返回ASCII码。我唯一能想到的是这是ruby版本问题。我正在使用1.9.1-p0,今天下午从1.8.6升级。我从Ruby的工作版本开始,在同一个目录中做了一些欺骗,我想我可能已经有了没有与.zip文件捆绑在一起的文件,所以我没有下载它们。那么为什么我的所有A

ruby - 为什么 Ruby 没有真正的 StringBuffer 或 StringIO?

我最近读了一篇不错的post关于在Ruby中使用StringIO。不过,作者没有提到的是StringIO只是一个“I”。没有“哦”。你不能这样做,例如:s=StringIO.newsshouldbe"foo\nbar"#=>reallyis''`Ruby确实需要一个StringBuffer,就像Java那样。StringBuffers有两个重要的用途。首先,它们让您测试Ruby的StringIO所做的一半输出。其次,它们对于从小部分构建长字符串很有用——Joel一遍又一遍地提醒我们,否则会非常非常慢。有好的替代品吗?的确,Ruby中的字符串是可变的,但这并不意味着我们应该始终依赖该功能

ruby-on-rails - 工头只显示 “started with pid #” 行,没有别的

当我运行工头时,我得到以下信息:>foremanstart16:47:56web.1|startedwithpid27122只有当我停止它(通过ctrl-c)时,它才会显示缺少的内容:^CSIGINTreceived16:49:26system|sendingSIGTERMtoallprocesses16:49:26web.1|=>BootingThin16:49:26web.1|=>Rails3.0.0applicationstartingindevelopmentonhttp://0.0.0.0:500016:49:26web.1|=>Callwith-dtodetach16:49

ruby - 是否有更简单的(单行)语法来为一个类方法起别名?

我知道我可以执行以下操作,而且只有3行:class但是出于好奇,有没有更简单的方法(没有分号),比如:class_alias:generate,:new 最佳答案 从Ruby1.9开始,您可以使用singleton_class方法访问类的单例对象。这样您还可以访问alias_method方法。该方法本身是私有(private)的,因此您需要使用send调用它。这是你的一个类轮:singleton_class.send(:alias_method,:generate,:new)不过请记住,alias在这里不起作用。

ruby - 如何在没有警告的情况下重新定义 Ruby 常量?

我正在运行一些Ruby代码,每次日期更改时都会评估Ruby文件。在文件中,我有常量定义,比如Tau=2*Pi当然,它们使解释器每次都显示不需要的“已初始化常量”警告,因此,我希望具有以下功能:def_if_not_defined(:Tau,2*Pi)redef_without_warning(:Tau,2*Pi)我可以通过像这样编写所有常量定义来避免警告:Tau=2*Piunlessdefined?(Tau)但它不够优雅而且有点潮湿(不是DRY)。def_if_not_defined有更好的方法吗?以及如何redef_without_warning?--感谢史蒂夫的解决方案:class

ruby-on-rails - Rails 3 - 没有要加载的文件 - openssl

运行Rails服务器时,出现以下错误:没有要加载的文件--openssl我尝试使用我在网上找到的解决方案。我转到~/.rvm/src/ruby-1.9.2-head/ext/openssl。我输入:rubyextconf.rb,但我得到以下信息:===OpenSSLforRubyconfigurator======Checkingforsystemdependentstuff...===checkingfort_open()in-lnsl...nocheckingforsocket()in-lsocket...nocheckingforassert.h...yes===Checking

ruby-on-rails - 如果我在 Ruby on Rails 中有一个散列,有没有办法让它无差别访问?

如果我已经有一个散列,我可以这样做吗h[:foo]h['foo']是一样的吗?(这叫冷漠访问吗?)详细信息:我在initializers中使用以下内容加载了此哈希,但可能不会有什么不同:SETTINGS=YAML.load_file("#{RAILS_ROOT}/config/settings.yml") 最佳答案 您可以只使用with_indifferent_access。SETTINGS=YAML.load_file("#{RAILS_ROOT}/config/settings.yml").with_indifferent_ac